// 引入express模块
const express = require("express");
const { query } = require("../db/pool");
const { verify } = require("../utils/auth");
// 创建路由器对象
const router = express.Router();
// 添加路由
// 聊天消息列表（get /list）
// /chatroom/list
router.get("/list", verify, async function (req, res, next) {
  // 获取get传递的参数
  var obj = req.query;
  console.log(obj);
  // 页码为空，设置默认为第1页
  if (!obj.pno) {
    obj.pno = 1;
  }
  // 计算开始查询的值
  var start = (obj.pno - 1) * 10;
  try {
    // 查询这一页数据
    var result = await query(
      "select mid,uname,avatar,location,content,pubTime,likeCount,replyCount from zh_chat_msg,zh_user where userId=uid order by pubTime desc limit ?,10",
      [start]
    );
  } catch (err) {
    return next(err);
  }
  // console.log(result)
  // 映射数据，给每个数据中添加图像
  var data = result.map(async function (item) {
    // 获取每条数据的id
    // console.log(item.mid)
    // 查询出这个id对应的图像
    var plist = await query("select pid,url from zh_chat_pic where msgId=?", [
      item.mid,
    ]);
    // console.log(plist)
    // console.log(item)
    // 映射出的新的数据格式
    return { ...item, plist };
  });
  // 获取一组promise成功的结果
  var r = await Promise.all(data);
  console.log(r);
  res.send(r);
});
// 将路由器对象暴露出去
module.exports = router;
